From 0274b2c94e3d935632468a09977f7129d83b12f8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?= =?utf8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= Date: Sat, 17 Sep 2016 15:13:45 +0000 Subject: [PATCH] GDK W32: Set is_modifier field in GdkKeyEvent This hardcodes Control, Alt and Shift as modifier keys. https://bugzilla.gnome.org/show_bug.cgi?id=602773 --- gdk/win32/gdkevents-win32.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 2f397f9619..56a51ee09d 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -2398,6 +2398,9 @@ gdk_event_translate (MSG *msg, LOBYTE (HIWORD (msg->lParam)) == _gdk_win32_keymap_get_rshift_scancode (GDK_WIN32_KEYMAP (_gdk_win32_display_get_keymap (_gdk_display)))) event->key.hardware_keycode = VK_RSHIFT; + event->key.is_modifier = (msg->wParam == VK_CONTROL || + msg->wParam == VK_SHIFT || + msg->wParam == VK_MENU); /* g_print ("ctrl:%02x lctrl:%02x rctrl:%02x alt:%02x lalt:%02x ralt:%02x\n", key_state[VK_CONTROL], key_state[VK_LCONTROL], key_state[VK_RCONTROL], key_state[VK_MENU], key_state[VK_LMENU], key_state[VK_RMENU]); */ build_key_event_state (event, key_state); -- 2.30.2